Operating System for Parallel Computing

نویسندگان

  • A. Y. Burtsev
  • L. B. Ryzhyk
چکیده

When available computers are incapable of providing a sufficient computing power for solving the arising tasks, while purchasing new and more powerful equipment is economically infeasible, then the only way to gain additional computing power is to parallel the computational process between several interconnected computers. The idea of parallel distributed computing has been studied in cybernetics since early sixties. However, until recently parallelism was primarily employed within the framework of a single computer only. For example, it formed the basis for extending the classical von Neumann architecture to superscalar processors and later – to explicit parallel instruction computing (EPIC) architectures [1]. The majority of computational tasks can be implemented in concurrent manner. The highest level of parallelism is achieved when the task can be represented by a set of loosely coupled sequential processes that have only few synchronization points. Modern operating systems support parallel execution of processes on multiprocessor and uniprocessor computers (the latter form of parallelism is known as pseudo-parallelism). For this purpose an operating system provides process synchronization and communication facilities. However, a process is limited to a single computational node. In order to implement a parallel algorithm in a multicomputer environment application programmer has to involve additional libraries and tools for organizing synchronization and data exchange between remote processes. Obviously, this task can be more effectively addressed by an operating system. Recently, we started the work on a new operating system aiming to support transparent execution of parallel algorithms in a distributed environment. This system will provide the distribution mechanisms, which will allow a developer to migrate his parallel application from a single computer to a network with minimal efforts. The new system will support dynamic balancing of a computational payload among network nodes. For this purpose it will provide each process with execution environment which will not be bound to a specific machine. Thus, a process started in one node can be transparently transferred to another node at any time. This procedure known as process migration will form the basis for building the distributed execution environment. Currently there exist a number of approaches to carrying out computations in distributed environments. Most of them rely on special parallel programming libraries that provide application developers with message-based distributed communication and synchronization facilities. Two well-known examples of such libraries are Message Passing Interface (MPI) [2] and Parallel Virtual Machine (PVM) [3]. This approach allows easily building a distributed programming environment on the basis of a network of computers running conventional operating systems like UNIX or Windows NT. However, parallel programming libraries do not support process migration between network nodes. Besides, these libraries are based on highlevel operating system services, which makes it easy to implement them but negatively affects their performance. The most important drawback inherent to MPI, PVM and other programming platforms of this kind is that each of them imposes its own specific process interaction mechanisms. As a consequence, adaptation of a parallel program for execution in a distributed environment requires significant efforts for porting it to a new set of communication primitives. An interesting alternative approach was taken by MOSIX [4] project aimed to build an extension of the Linux kernel, which would support distributed computing by presenting processes with a single execution environment within a system of several interconnected computers. MOSIX implements efficient process placement and migration policies and provides a distributed shared memory facility.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Parallel computing using MPI and OpenMP on self-configured platform, UMZHPC.

Parallel computing is a topic of interest for a broad scientific community since it facilitates many time-consuming algorithms in different application domains.In this paper, we introduce a novel platform for parallel computing by using MPI and OpenMP programming languages based on set of networked PCs. UMZHPC is a free Linux-based parallel computing infrastructure that has been developed to cr...

متن کامل

Cloud Computing Technology Algorithms Capabilities in Managing and Processing Big Data in Business Organizations: MapReduce, Hadoop, Parallel Programming

The objective of this study is to verify the importance of the capabilities of cloud computing services in managing and analyzing big data in business organizations because the rapid development in the use of information technology in general and network technology in particular, has led to the trend of many organizations to make their applications available for use via electronic platforms hos...

متن کامل

Green Energy-aware task scheduling using the DVFS technique in Cloud Computing

Nowdays, energy consumption as a critical issue in distributed computing systems with high performance has become so green computing tries to energy consumption, carbon footprint and CO2 emissions in high performance computing systems (HPCs) such as clusters, Grid and Cloud that a large number of parallel. Reducing energy consumption for high end computing can bring various benefits such as red...

متن کامل

THE MEAN RESIDUAL LIFETIME OF PARALLEL SYSTEMS WITH TWO EXCHANGEABLE COMPONENTS UNDER THE GENERALIZED FARLIE-GUMBEL-MORGENSTERN MODEL

The parallel systems are special important types of coherent structures and have many applications in various areas.In this paper we consider a two-exchangeable-component parallel system for the Generalized Farlie-Gumbel-Morgenstern (Generalized FGM) distribution. We study the reliability properties of the residual lifetime of the system under the condition that both components of the system ar...

متن کامل

Static Task Allocation in Distributed Systems Using Parallel Genetic Algorithm

Over the past two decades, PC speeds have increased from a few instructions per second to several million instructions per second. The tremendous speed of today's networks as well as the increasing need for high-performance systems has made researchers interested in parallel and distributed computing. The rapid growth of distributed systems has led to a variety of problems. Task allocation is a...

متن کامل

The Design of an Operating System for a Scalable Parallel Computing Engine

There are substantial benefits to be gained from building computing systems from a number of processors working in parallel. One of the frequently-stated advantages of parallel and distributed systems is that they may be scaled to the needs of the user. This paper discusses some of the problems associated with designing a general-purpose operating system for a scalable parallel computing engine...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2005